package com.lin.cloud.disk.manage;

import com.lin.cloud.disk.entity.request.*;
import com.lin.cloud.disk.entity.response.LoginResponse;
import com.lin.cloud.disk.entity.response.UserInfoByTokenResponse;

/**
 * 用户服务接口类
 * @author ljc
 * @date 2020/12/11 11:43
 */
public interface IUserManageService {

    /**
     * 登录
     * @param request
     * @return
     */
    LoginResponse login(LoginRequest request);

    /**
     * 注册
     * @param request
     * @return
     */
    void register(RegisterRequest request);

    /**
     * 登出
     * @param request
     */
    void batchDeleteCacheByToken(JwtTokenRequest request);

    /**
     * 通过token获取用户信息
     * @param request
     * @return
     */
    UserInfoByTokenResponse getUserInfoByToken(JwtTokenRequest request);

    /**
     * 修改密码
     * @param request
     */
    void modifyPassword(ModifyPasswordRequest request);

}
